﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SynoManager
{
    public class SynoManagerException : Exception
    {
        public SynoManagerException()
            :base()
        { }

        public SynoManagerException(string message)
            :base(message)
        {
        }

        public SynoManagerException(string message, Exception innerException)
            :base(message, innerException)
        {}
    }

    public class AuthenticationException : SynoManagerException
    {
        public AuthenticationException(string username)
            :this(username, null)
        { }

        public AuthenticationException(string username, Exception innerException)
            :base("Authentication failed for user \'" + username + "\'", innerException)
        { }
    }

    public class CommunicationException : SynoManagerException
    {
        public CommunicationException()
            :base()
        { }

        public CommunicationException(string message)
            :base(message)
        {
        }

        public CommunicationException(string message, Exception innerException)
            :base(message, innerException)
        {}
    }
}
